#! /bin/sh
. "${srcdir=.}/init.sh"; path_prepend_ . ../src

# Test filling Plural-Forms: with Unicode CLDR

# This test may fail on Cygwin before 'make install', because the PATH set in
# msginit.c considers the installation directory, not the build directory.

LC_ALL=C "$top_builddir/src/cldr-plurals" ru /dev/null 2>&1 | grep 'extraction is not supported' > /dev/null 2>&1
test $? = 0 && {
  echo "Skipping test: cldr-plurals was built without XML support"
  Exit 77
}

cat <<\EOF > mi-test4.pot
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"

#, c-format
msgid "'Your command, please?', asked the waiter."
msgstr ""

#, c-format
msgid "a piece of cake"
msgid_plural "%d pieces of cake"
msgstr[0] ""
msgstr[1] ""

#, c-format
msgid "%s is replaced by %s."
msgstr ""
EOF

: ${MSGINIT=msginit}
GETTEXTLIBEXECDIR_SRCDIR="$wabs_top_srcdir"/src \
GETTEXTLIBEXECDIR_BUILDDIR="$top_builddir"/src \
GETTEXTCLDRDIR="$wabs_srcdir" \
${MSGINIT} -i mi-test4.pot -l foo --no-translator --no-wrap -o mi-test4.tmp 2>mi-test4.err
test $? = 0 || { cat mi-test4.err 1>&2; Exit 1; }

# The charset stored in the header entry is the locale encoding of the gl_IE
# locale, which is system dependent, or ASCII if the locale does not exist.
#
# Project-Id-Version contains version constructed from a temporary
# directory name
sed -e '1,10d' -e 's/ISO-8859-1/ASCII/g' -e 's/CP1252/ASCII/g' -e 's/UTF-8/ASCII/g' < mi-test4.tmp | grep -v Project-Id-Version | LC_ALL=C tr -d '\r' > mi-test4.out || Exit 1
cat <<\EOF > mi-test4.ok
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
"Language: foo\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ASCII\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : 2);\n"

#, c-format
msgid "'Your command, please?', asked the waiter."
msgstr ""

#, c-format
msgid "a piece of cake"
msgid_plural "%d pieces of cake"
msgstr[0] ""
msgstr[1] ""
msgstr[2] ""

#, c-format
msgid "%s is replaced by %s."
msgstr ""
EOF

: ${DIFF=diff}
${DIFF} mi-test4.ok mi-test4.out
result=$?

exit $result
